@怪人
2年前 提问
1个回答

浏览器沙箱是什么意思

房乐
2年前

浏览器沙箱是一种浏览器层面的一种安全机制,可以限制脚本操作本页面之外的其他页面的DOM,限制访问非同源文档,限制向非同源服务器发送ajax等等,目的是加强网络安全。传统的沙箱就是操作系统对进程的可访问的内存地址所做的限制,限制进程可访问的内存在其被分配的内存地址区间内,而不允许操作其他的内存地址,从而提供安全层面的防护。两者本质上都是加强网络安全,浏览器沙箱在实践层面会根据浏览器环境有所变化。

以下是一些沙盒的具体实现:

  • 软件监狱(Jail):限制网络访问、受限的文件系统名字空间。软件监狱最常用于虚拟主机上。

  • 基于规则的执行:通过系统安全机制,按照一系列预设规则给用户及程序分配一定的访问权限,完全控制程序的启动、代码注入及网络访问。也可控制程序对于文件、注册表的访问。在这样的环境中,病毒木马感染系统的几率将会减小。Linux中,安全增强式Linux和AppArmor正使用了这种策略。

  • 虚拟机:模拟一个完整的宿主系统,可以如运行于真实硬件一般运行虚拟的操作系统(客户系统)。客户系统只能通过模拟器访问宿主的资源,因此可算作一种沙盒。

  • 主机本地沙盒:安全研究人员十分依赖沙盒技术来分析恶意软件的行为。通过创建一个模拟真实桌面的环境,研究人员就能够观察恶意软件是如何感染一台主机的。若干恶意软件分析服务使用了沙盒技术。

  • 安全计算模式(seccomp):Linux内核内置的一个沙盒。启用后,seccomp仅允许write()、read()、exit()和sigreturn()这几个系统调用。